package com.bbx.taxi.client.Util;

import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;

/**
 * 获取汉字的拼音
 */
public class Cn2Spell {
	private static Cn2Spell mcn2Spell;
    public static Cn2Spell getInstance(){
    	if(mcn2Spell==null){
    		mcn2Spell=new Cn2Spell();
    	}
    	else{
    		return mcn2Spell;
    	}
    	return mcn2Spell;
    	
    }
    public  String onCn2Spell(String chinese) {  
        StringBuffer pybf = new StringBuffer();  
        char[] arr = chinese.toCharArray();  
        HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();  
        defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);  
        defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);  
        for (int i = 0; i < arr.length; i++) {  
            if (arr[i] > 128) {  
                try {  
                    pybf.append(PinyinHelper.toHanyuPinyinStringArray(arr[i], defaultFormat)[0]);  
                } catch (BadHanyuPinyinOutputFormatCombination e) {  
                    e.printStackTrace();  
                }  
            } else {  
                pybf.append(arr[i]);  
            }  
        }  
        return pybf.toString();  
    }  
}
